From: Carlos Garnacho Date: Fri, 16 Oct 2015 16:32:42 +0000 (+0200) Subject: workspace: Keep track of the dragging touch sequence X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~1041 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=9d203ddc0f591140909117252f99bc08e9043bac;p=gnome-shell.git workspace: Keep track of the dragging touch sequence draggable.startDrag() is called directly here (i.e. manualMode is not set), we must keep track of the touch event and pass it to startDrag() then. https://bugzilla.gnome.org/show_bug.cgi?id=756748 --- diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 467f210f5..bacc75b6d 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -361,6 +361,9 @@ const WindowClone = new Lang.Class({ // a long-press canceled when the pointer movement // exceeds dnd-drag-threshold to manually start the drag if (state == Clutter.LongPressState.CANCEL) { + let event = Clutter.get_current_event(); + this._dragTouchSequence = event.get_event_sequence(); + // A click cancels a long-press before any click handler is // run - make sure to not start a drag in that case Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, @@ -369,7 +372,7 @@ const WindowClone = new Lang.Class({ return; let [x, y] = action.get_coords(); action.release(); - this._draggable.startDrag(x, y, global.get_current_time()); + this._draggable.startDrag(x, y, global.get_current_time(), this._dragTouchSequence); })); } return true;